package com.atguigu.chaptar10

object $03_GenericLowHight {
  /*
      上限<泛型必须是指定类型或子类>  语法: T<:类型
      下限<泛型必须是指定类型或父类>  语法: T>:类型
      下限没有卵用,规定不死
      所以只能先下限再上限连用 T>:类型1<:类型2
   */
  class Parent
  class sub1 extends Parent
  class sub2 extends sub1

  //上限
  def m1[T<:sub1](t:T)={}
  //下限
  def m2[T>:sub1](t:T)={ }
  //上下限同时使用
  def m3[T>:sub2<:sub1](t:T)={}
  def main(args: Array[String]): Unit = {
    m1(new sub1)
    var list = List[sub1](new sub1)
    var list1 = List[Parent](new Parent)
    list1 = list
    //list = list1
  }


}
